Sha256: 2421e76c44195144e27bb4371536f4378f233aa831bf138d8ad35886cdc8d646
Contents?: true
Size: 684 Bytes
Versions: 12
Compression:
Stored size: 684 Bytes
Contents
const float LOG2 = 1.442695; void main(inout vec4 ambient, inout vec4 diffuse, inout vec4 specular) { float fog; float distance = length(gl_FragCoord.z / gl_FragCoord.w); if (Algorithm == <%=Jax.LINEAR%>) { fog = (End - distance) * Scale; } else if (Algorithm == <%=Jax.EXPONENTIAL%>) { fog = exp(-Density * distance); } else if (Algorithm == <%=Jax.EXP2%>) { fog = exp2(-Density * Density * distance * distance * LOG2); } else { /* error condition, output red */ ambient = diffuse = specular = vec4(1,0,0,1); return; } fog = clamp(fog, 0.0, 1.0); ambient = mix(FogColor, ambient, fog); diffuse = mix(FogColor, diffuse, fog); }
Version data entries
12 entries across 12 versions & 1 rubygems