| View Image |
Description |
View Source |
accumaa.jpg
(anti-aliased)
accumaa1.jpg
(aliased) |
Using the accumulation buffers to anti-alias a scene. |
accumaa.c |
af_depthcue.jpg
(fog added by second pass)
af_depthcue1.jpg
(fog rendered normally) |
Adding depthcue (fog) in a second rendering pass. |
af_depthcue.c |
af_teapots.jpg
(linear fog)
af_teapots1.jpg
(linear fog added by second pass) |
More detailed example of adding fog in a second rendering pass. |
af_teapots.c |
convolve.jpg
(5x5 blur)
convolve1.jpg
(laplace transform) |
Using the accumulation buffer for fast convolutions. |
convolve.c |
|
boundary.jpg |
This example shows how to use the GLU polygon tessellator to determine the
2D boundary of OpenGL rendered objects. The program uses OpenGL's
feedback mechanim to capture transformed polygons and then feeds them to
the GLU tesselator in GLU_TESS_WINDING_NONZERO and GLU_TESS_BOUNDARY_ONLY
mode. |
boundary.c |
csg.jpg
(A or B)
csg1.jpg
(A sub B) |
Composite solid geometry using the stencil buffer. |
csg.c |
|
decal.jpg |
Decaling the letter "T" using the stencil buffer. |
decal.c |
|
dissolve.jpg |
Dissolving using the stencil buffer. |
dissolve.c |
envphong.jpg
(sphere)
envphong1.jpg
(checkerboard torus) |
Demonstrates a use of environment texture mapping for improved highlight shading. |
envphong.c |
field.jpg
(depth of field)
field1.jpg
(normal) |
Using the accumulation buffer for depth of field (camera focus blur). |
field.c |
|
genmipmap.jpg |
Example of how to generate texture mipmap levels with the accumulation buffer. |
genmipmap.c |
|
haloed.jpg |
Draw haloed lines using the stencil buffer. |
haloed.c |
|
hello2rts.jpg |
Demonstrates a method of generating real-time shadows. |
hello2rts.c |
|
hiddenline.jpg |
Line Rendering: Hidden line techniques. |
hiddenline.c |
|
imgproc.jpg |
Examples of various image processing operations coded as OpenGL
accumulation buffer operations. |
imgproc.c |
|
mipmap_lines.jpg |
Survey of different mipmap filters. |
mipmap_lines.c |
|
motionblur.jpg |
Using the accumulation buffer for motion blur. |
motionblur.c |
|
multilight.jpg |
This program demonstrates virtualization of OpenGL's lights. The idea is
that if an object is lit by many lights, it is computationally more
efficient to calculate the approximate lighting contribution of the
various lights per-object and only enable the "brightest" lights while
rendering the object. This also lets you render scenes with more lights
than the OpenGL implementation light (usually 8). Two approaches are
used: The "distance-based" approach only enables the 8 closest lights
based purely on distance. The "Lambertian-based" approach accounts for
diffuse lighting contributions and approximates the diffuse contribution. |
multilight.c |
projshadow.jpg
(shadows)
projshadow1.jpg
(no shadows) |
Rendering shadows using projective transforms. |
projshadow.c |
projtex.jpg
(cube)
projtex1.jpg
(three sides) |
Demonstrates simple projective texture mapping. |
projtex.c |
|
rasonly.jpg |
Demonstrates the use of OpenGL for rasterization-only, with
perspective-correct texture mapping. |
rasonly.c |
shadowfun.jpg
(shadows)
shadowfun1.jpg
(view from light) |
This program demonstrates a light source and object of arbitrary geometry casing a shadow on arbitary geometry. The program uses OpenGL's feedback, stencil, and boundary tessellation support. |
shadowfun.c |
|
shadowvol.jpg |
Demonstrate shadow volume techniques. |
shadowvol.c |
|
silhouette.jpg |
Generating silhouette edges with the stencil buffer. |
silhouette.c |
softshadow.jpg
(soft shadows)
softshadow1.jpg
(no shadows) |
Demonstrate the use of accumulation buffer to create soft shadows. |
softshadow.c |
tess.jpg
(geodesic)
tess1.jpg
(longitude/lattitude) |
Different tesselations for a spherical shape. |
tess.c |
|
textile.jpg |
Demonstration of how to "tile" together small textures with a result identical to if a much larger texture was drawn. |
textile.c |
textrim.jpg
(alpha tested)
textrim1.jpg
(no alpha blending/testing) |
Trimming textures: demonstrates how alpha blending or alpha testing
can be used to "trim" the shape of textures to arbitrary shapes. |
textrim.c |
|
tvertex.jpg |
T-vertex artifacts example. The moral: Avoid vertex edge
junctions that make a T-shape. |
tvertex.c |
|
warp.jpg |
Image warping operations can be done via OpenGL texture mapping. |
warp.c |
|
zcomposite.jpg |
Compositing images that include depth information. |
zcomposite.c |