mirror of
https://github.com/FMS-Cat/condition.git
synced 2025-08-31 17:11:49 +02:00
aesthetics: improve condition
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -35,7 +35,7 @@ uniform float phaseOffset;
|
|||||||
uniform float phaseWidth;
|
uniform float phaseWidth;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
float phase = fract( 2.0 * vPhase + 0.01 * vHuh.z + 0.1 * time + 0.1 * vHuh.y + phaseOffset );
|
float phase = fract( 2.0 * vPhase + vHuh.z + 0.1 * time + vHuh.y + phaseOffset );
|
||||||
if ( phase > phaseWidth ) { discard; }
|
if ( phase > phaseWidth ) { discard; }
|
||||||
|
|
||||||
vec3 color = vec3( 2.0 );
|
vec3 color = vec3( 2.0 );
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
#version 300 es
|
#version 300 es
|
||||||
|
|
||||||
|
#define fs(i) (fract(sin((i)*114.514)*1919.810))
|
||||||
|
|
||||||
const float TAU = 6.283185307;
|
const float TAU = 6.283185307;
|
||||||
|
|
||||||
layout (location = 0) in vec2 what;
|
layout (location = 0) in vec2 what;
|
||||||
@@ -26,17 +28,24 @@ void main() {
|
|||||||
|
|
||||||
vec4 tex = texture( samplerSvg, vec2( what.x, huh.x ) );
|
vec4 tex = texture( samplerSvg, vec2( what.x, huh.x ) );
|
||||||
|
|
||||||
vPosition = vec4( tex.xy + vec2( huh.y, 0.0 ), 60.0 - 120.0 * huh.z, 1.0 );
|
vPosition = vec4( tex.xy, 0.0, 1.0 );
|
||||||
|
// vPosition.x += huh.y;
|
||||||
|
|
||||||
mat3 basis = orthBasis( vec3( tex.zw, 0.0 ) );
|
mat3 basis = orthBasis( vec3( tex.zw, 0.0 ) );
|
||||||
float theta = what.y / 3.0 * TAU;
|
float theta = what.y / 3.0 * TAU;
|
||||||
vec3 tube = 0.2 * basis * vec3( sin( theta ), cos( theta ), 0.0 );
|
vec3 tube = 0.1 * basis * vec3( sin( theta ), cos( theta ), 0.0 );
|
||||||
vNormal = ( normalMatrix * vec4( tube, 1.0 ) ).xyz;
|
vNormal = ( normalMatrix * vec4( tube, 1.0 ) ).xyz;
|
||||||
|
|
||||||
vPosition.xyz += tube;
|
vPosition.xyz += tube;
|
||||||
|
|
||||||
vPosition = modelMatrix * vPosition;
|
vPosition = modelMatrix * vPosition;
|
||||||
|
|
||||||
|
vec3 randomPos = fs( vec3( 5.0, 8.6, 1.9 ) + huh.z + 2.56 * huh.y ) - 0.5;
|
||||||
|
randomPos.z = mod( randomPos.z + 0.1 * time, 1.0 ) - 0.5;
|
||||||
|
vPosition.xyz += vec3( 5.0, 5.0, 20.0 ) * randomPos;
|
||||||
|
|
||||||
|
// vPosition.z += 6.0 - 1.2 * huh.z;
|
||||||
|
|
||||||
vec4 outPos = projectionMatrix * viewMatrix * vPosition;
|
vec4 outPos = projectionMatrix * viewMatrix * vPosition;
|
||||||
outPos.x *= resolution.y / resolution.x;
|
outPos.x *= resolution.y / resolution.x;
|
||||||
gl_Position = outPos;
|
gl_Position = outPos;
|
||||||
|
8
src/shaders/modules/uniformHemisphere.glsl
Normal file
8
src/shaders/modules/uniformHemisphere.glsl
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#pragma glslify: uniformSphere = require( ./uniformSphere );
|
||||||
|
|
||||||
|
vec3 uniformHemisphere( vec2 Xi, vec3 n ) {
|
||||||
|
vec3 d = uniformSphere( Xi );
|
||||||
|
return dot( n, d ) < 0.0 ? -d : d;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma glslify: export(uniformHemisphere)
|
7
src/shaders/modules/uniformSphere.glsl
Normal file
7
src/shaders/modules/uniformSphere.glsl
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
vec3 uniformSphere( vec2 Xi ) {
|
||||||
|
float p = 2.0 * PI * Xi.x;
|
||||||
|
float t = acos( 1.0 - 2.0 * Xi.y );
|
||||||
|
return vec3( cos( p ) * sin( t ), cos( t ), sin( p ) * sin( t ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma glslify: export(uniformSphere)
|
@@ -13,6 +13,7 @@ const float NOISE_CLUTCH = 0.1;
|
|||||||
const vec2 CHROMA_FREQ = vec2( 227.5, 120.0 );
|
const vec2 CHROMA_FREQ = vec2( 227.5, 120.0 );
|
||||||
const mat3 RGB_TO_YCBCR = mat3( 0.299, -0.168736, 0.5, 0.587, -0.331264, -0.418688, 0.114, 0.5, -0.081312 );
|
const mat3 RGB_TO_YCBCR = mat3( 0.299, -0.168736, 0.5, 0.587, -0.331264, -0.418688, 0.114, 0.5, -0.081312 );
|
||||||
|
|
||||||
|
#define fs(i) (fract(sin((i)*114.514)*1919.810))
|
||||||
#define saturate(i) clamp(i,0.,1.)
|
#define saturate(i) clamp(i,0.,1.)
|
||||||
#define linearstep(a,b,x) saturate(((x)-(a))/((b)-(a)))
|
#define linearstep(a,b,x) saturate(((x)-(a))/((b)-(a)))
|
||||||
#define lofi(i,m) (floor((i)/(m))*(m))
|
#define lofi(i,m) (floor((i)/(m))*(m))
|
||||||
@@ -25,7 +26,6 @@ uniform float time;
|
|||||||
uniform vec2 resolution;
|
uniform vec2 resolution;
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
|
|
||||||
#pragma glslify: fractSin = require( ./modules/fractSin );
|
|
||||||
#pragma glslify: cyclicNoise = require( ./modules/cyclicNoise );
|
#pragma glslify: cyclicNoise = require( ./modules/cyclicNoise );
|
||||||
|
|
||||||
// https://www.shadertoy.com/view/3sKSzW
|
// https://www.shadertoy.com/view/3sKSzW
|
||||||
@@ -68,7 +68,7 @@ void main() {
|
|||||||
); // cb as cosine of subcarrier
|
); // cb as cosine of subcarrier
|
||||||
|
|
||||||
// static noise
|
// static noise
|
||||||
signal += 0.01 * ( fractSin( noise.x ) - 0.5 );
|
signal += 0.01 * ( fs( noise.x ) - 0.5 );
|
||||||
|
|
||||||
// high peak noise
|
// high peak noise
|
||||||
float bump = exp( -2.0 * fract( 10.0 * hnoise.z * ( 1.0 * hnoise.x + uv.x ) ) );
|
float bump = exp( -2.0 * fract( 10.0 * hnoise.z * ( 1.0 * hnoise.x + uv.x ) ) );
|
||||||
|
Reference in New Issue
Block a user