Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition Chapter 21
Figure 21.1: Screenshot of helixListShaderized- InstancedVertAttrib.- cpp.
Figure 21.2: Screenshot of helixListShaderized- ShaderCounter.cpp.
Figure 21.3: Screenshot of ballAndTorusClipped.cpp.
Figure 21.4: Screenshot of ballAndTorusShader- Subroutines.cpp.
Figure 21.5: Screenshot of ballAndTorusPicking- Shaderized.cpp moments after the ball has been clicked.
Figure 21.6: Screenshot of ballAndTorus- TransformFeedback.cpp when the balls are close.
Figure 21.7: Screenshot of fieldAndSkyTextures- BlendedShaderized.cpp late morning.
Figure 21.8: Screenshot of points.cpp initially.
Figure 21.9: OpenGL programmable pipeline.
Figure 21.10: Arc of a circle defined by 3 points.
Figure 21.11: Tessellation shader scheme.
Figure 21.12: Screenshot of tessellatedCurve.cpp initially.
Figure 21.13: Tessellating quads.
Figure 21.14: Tessellating isolines.
Figure 21.15: tessellatedCurve.cpp's tessellated patch domain.
Figure 21.16: Patch domain for triangles.
Figure 21.17: Tessellating triangles.
Figure 21.18: Final tessellated triangle for the example tessellation levels.
Figure 21.19: Screenshot of tessellatedHemisphere.cpp.
Figure 21.20: Hemisphere on top of a cylinder.
Figure 21.21: (a) GL_LINES_ADJACENCY primitive (b) GL_LINE_STRIP_ADJACENCY primitive. Arrows indicate line orientation. Unfilled points and broken arrows represent adjacency information – if there is no geometry shader present, these are discarded and only the filled points and unbroken segments rendered.
Figure 21.22: (a) GL_TRIANGLES_ADJACENCY primitive (b) GL_TRIANGLE_STRIP_ADJACENCY primitive. Arrows indicate triangle orientation (the shaded strip of triangles is consistently oriented). Unfilled points and broken arrows represent adjacency information – if there is no geometry shader present, these are discarded and only the shaded triangles rendered. (c) Torus mesh with one GL_TRIANGLE_STRIP_ADJACENCY primitive labeled.
Figure 21.23: Screenshot of torusSilhouette.cpp in silhouette mode.
Figure 21.24: Making a silhouette edge.