varying float LightIntensity; varying vec3 MCposition; uniform sampler3D Noise3; uniform vec4 Color1; uniform vec4 Color2; uniform float NoiseScale; void main() { vec4 noisevec = texture3D(Noise3, MCposition * NoiseScale); float intensity = abs(noisevec[0] - 0.25) + abs(noisevec[1] - 0.125) + abs(noisevec[2] - 0.0625) + abs(noisevec[3] - 0.03125); intensity = clamp(intensity * 6.0, 0.0, 1.0); vec3 color = mix(Color1.rgb, Color2.rgb, intensity) * LightIntensity; gl_FragColor = vec4(color, 1.0); }