precision lowp int; precision lowp float; VARYING vec2 texcoord; VARYING vec2 smokecoord; float opacity = 1.0; float fresnel = 1.0; float mask = 1.0; void MAIN() { fresnel = pow(abs(dot(VIEW_VECTOR,VAR_WORLD_NORMAL)),1.0); opacity = abs(dot(texture(tex, texcoord).rgb,abs(VAR_WORLD_NORMAL))); mask = smoothstep(abs(dot(texture(smoke, smokecoord).rgb,abs(VAR_WORLD_NORMAL))),0.0,0.5); } void POST_PROCESS() { COLOR_SUM = vec4(7.0,10.0,8.0,(fresnel*opacity*mask)*.150); }