L = (LR, LG, LB)
Lar
, Lag
, Lab
1 L(p, p0) = -------------- L(p0) |p-p02|
(a + bd + cd2)-1 d is the distance between p and p0can also soften the high-contrast effect by selecting appropriate values for a, b and c.
coseφ
cos &phi = u · v
Iir = RiraLira + RirdLird + RirsLirs (same for g and b)
Ir = sum-over-i(Iir) + Iar (last is global ambient component)
Id = kd(l · n)Ld
glLightModel*(paramName, param)
GL_LIGHT_MODEL_LOCAL_VIEWER
GL_LIGHT_MODEL_TWO_SIDE
glLightModel*v(paramName, * params)
GL_LIGHT_MODEL_AMBIENT
glEnable(GL_LIGHTING)
glEnable(GL_LIGHTn)
glLight*(light, paraName, param)
light
GL_SPOT_CUTOFF
GL_SPOT_EXPONENT
GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
- the a, b,c coefficients of the distance terms, respectively
- param - non-negative values only
glLight*v(light, paraName, * params)
light
GL_POSITION
GL_SPOT_DIRECTION
GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR
glMaterial*(face, paramName, param)
)
face
GL_SHININESS
glMaterial*v(face, paraName, * params)
face
GL_AMBIENT, GL_DIFFUSE, GLSPECULAR, GL_EMISSION, GL_AMBIENT_AND_DIFFUSE
GL_AMBIENT_AND_DIFFUSE
value.