projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
water fog material prop; ragdoll float only on drowned
[carveJwlIkooP6JGAAIwe30JlM.git]
/
shaders
/
scene_route.fs
diff --git
a/shaders/scene_route.fs
b/shaders/scene_route.fs
index a2eeb99c810b50a17ce93eabf0b6a53b8250a90e..946d4b7ae291782316ed2b0e53829c32915f1e9e 100644
(file)
--- a/
shaders/scene_route.fs
+++ b/
shaders/scene_route.fs
@@
-2,12
+2,18
@@
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;
+#include "light_clearskies_stddef.glsl"
#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();
@@
-32,16
+38,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 );
}
}