uniform sampler2D uTexGarbage; uniform sampler2D uTexMain; uniform samplerCube uTexCubemap; uniform vec3 uCamera; uniform vec4 uPlane; uniform vec4 uColour; #include "light_clearskies_stddef.glsl" #include "common_scene.glsl" #include "motion_vectors_fs.glsl" void main() { compute_motion_vectors(); vec3 vfrag = vec3(0.5,0.5,0.5); vec4 vsamplemain = texture( uTexMain, aUv ); vec4 wgarbage = texture( uTexGarbage, aCo.xz * 0.0015 + aCo.yx*0.002 ); vec3 qnorm = aNorm.xyz; vfrag = vsamplemain.rgb; if( g_light_preview == 1 ){ vfrag = vec3(0.5); } vfrag = scene_compute_lighting( vfrag, qnorm, aWorldCo ); oColour = vec4( vfrag, 1.0 ); vec3 halfdir = normalize( aWorldCo - uCamera ); vec3 reflectdir = reflect( halfdir, qnorm ); oColour = mix( oColour, vec4(texture(uTexCubemap,reflectdir).rgb * uColour.rgb, 1.0), uColour.a*wgarbage.b ); }