projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix again
[carveJwlIkooP6JGAAIwe30JlM.git]
/
shaders
/
scene_route.fs
diff --git
a/shaders/scene_route.fs
b/shaders/scene_route.fs
index 5bb973d380e81b753493e1d4a9682ad9e70a58a0..4af09071cfd886292c97043b4ab20526861a81a5 100644
(file)
--- a/
shaders/scene_route.fs
+++ b/
shaders/scene_route.fs
@@
-2,18
+2,17
@@
uniform sampler2D uTexGarbage;
uniform sampler2D uTexGradients;
uniform vec3 uCamera;
uniform vec4 uColour;
uniform sampler2D uTexGradients;
uniform vec3 uCamera;
uniform vec4 uColour;
-uniform vec3 uBoard0;
-uniform vec3 uBoard1;
-
-in vec2 aUv;
-in vec4 aNorm;
-in vec3 aCo;
-in vec3 aWorldCo;
-flat in ivec4 aLights;
#include "common_scene.glsl"
#include "motion_vectors_fs.glsl"
#include "common_scene.glsl"
#include "motion_vectors_fs.glsl"
+float filtered_stripe( in float p, in float ddx, in float ddy )
+{
+ float w = max(abs(ddx), abs(ddy)) + 0.02;
+ float i = (abs(fract((p-0.5*w)/2.0)-0.5)-abs(fract((p+0.5*w)/2.0)-0.5))/w;
+ return 0.5 - i;
+}
+
void main()
{
compute_motion_vectors();
void main()
{
compute_motion_vectors();
@@
-38,16
+37,18
@@
void main()
vfrag = pow(uColour.rgb,vec3(1.0/2.2));
vfrag -= rgarbage.a*0.1;
vfrag = pow(uColour.rgb,vec3(1.0/2.2));
vfrag -= rgarbage.a*0.1;
- if( wgarbage.g < 0.
3
)
+ if( wgarbage.g < 0.
1
)
discard;
discard;
+ float movep = (aUv.x + abs(aUv.y-0.5)*0.4 - g_realtime)*2.0;
+ float stripe = filtered_stripe( movep, dFdx(movep), dFdy(movep) );
+ vfrag *= 0.9+stripe*uColour.a;
+
if( g_light_preview == 1 )
{
vfrag = vec3(0.5);
}
// Lighting
if( g_light_preview == 1 )
{
vfrag = vec3(0.5);
}
// Lighting
-
- vfrag = scene_do_lighting( vfrag, qnorm );
- oColour = vec4(vfrag, 1.0);
+ oColour = vec4( scene_compute_lighting( vfrag, qnorm, aWorldCo ), 1.0 );
}
}