lecture16
lecture15
lecture15
lab11
ShadedGeometry-PerVertexLighting
lab11-GeometryPositionNormalPerVertexLighting
http://en.wikibooks.org/wiki/GLSL_Programming/GLUT/Diffuse_Reflection
http://en.wikibooks.org/wiki/GLSL_Programming/GLUT/Specular_Highlights
ShadedGeometry-PerPixelLighting
lab11-GeometryPositionNormalPerPixelLighting
http://en.wikibooks.org/wiki/GLSL_Programming/GLUT/Smooth_Specular_Highlights
ShadedGeometry with Multiple Lights
ShadedGeometry with Multiple Lights & Material
- Directional Light
- Point Light
- Spot Light (‘l’ & ‘k’-key to move a spot light position)
lab11-GeometryPositionNormalMultipleLights3 (SimpleCar, SimpleSolar, SimpleRobot, SimpleMobile, SimpleCube3d, SimpleTree)
OpenGL Lighting & Material
ShadedTeapotCylinderSphere (with moving light source)
ShadedTeapot (with different materials)
lighting
Ambient/Diffuse/Specular (From left to right: diffuse; ambient; diffuse + ambient; diffuse+ambient+specular) from lighthouse3d.com
Light sources (From left to right: directional; point; and spotlights) from lighthouse3d.com
lecture14
lecture14
lecture13
lecture13
lab10
z-fighting
Z-fighting, also called stitching, is a phenomenon in 3D rendering that occurs when two or more primitives have similar values in the z-buffer. This problem is usually caused by limited sub-pixel precision and floating point and fixed point round-off errors. https://en.wikipedia.org/wiki/Z-fighting
There is very high precision at the near plane, but very little precision at the far plane. If the range [-n, -f] is getting larger, it causes a depth precision problem (z-fighting); a small change of ze around the far plane does not affect on zn value. The distance between n and f should be short as possible to minimize the depth buffer precision problem.
http://www.songho.ca/opengl/gl_projectionmatrix.html