Luminosity Map
Per Textur wird das Eigenleuchten eines Objektes bestimmt.
Screenshot:

Vertex Shader:
uniform vec3 LightPos; varying float LightIntensity; varying vec2 UVCoord; vec3 Normal; void main(){ gl_Position = ftransform(); Normal = normalize(gl_NormalMatrix * gl_Normal); LightIntensity = max(dot(normalize(LightPos - gl_Position.xyz), Normal), 0.0); UVCoord = gl_MultiTexCoord0.st; }
Fragment Shader:
varying float LightIntensity; varying vec2 UVCoord; uniform vec3 Color; uniform float LuminosityLevel; uniform sampler2D tex1; void main(){ vec3 thisTex = vec3(texture2D(tex1,UVCoord)); vec3 thisColor = Color * LightIntensity; thisColor += LuminosityLevel * thisTex; gl_FragColor = vec4(thisColor, 1.0); }