Scientific Visualization and Computer Graphics

Scientific Visualization and Computer Graphics > BI > FSE > RUG

# Chapter 2: From Graphics to Visualization

## Sample programs

The sample programs provided for Chapter 2 introduce basic computer graphics notions (polygon primitives, setting up the viewing system, shading, transparency, and texturing). These are demonstrated by a simple application: Rendering a 3D plot of a two-variable function.

The samples start with a minimal OpenGL application that renders a 2D height plot. Next, additional OpenGL rendering options are incrementally introduced in each sample.

Each sample application is a small standalone program that can be read, compiled, and run separately from the other samples.

## Sample 1: Getting started

The first sample demonstrates the minimal structure of an OpenGL application that renders the 3D plot of a two-variable function. The function graph is shown as a single-color gridded surface. The sample also introduces the Quad class that describes an OpenGL quad polygon. Finally, it shows the interaction between OpenGL and GLUT.

## Sample 2: A more complex function

The second sample is identical to the first one, but shows a different, more complicated, function. Also, it uses a higher sampling rate. We see now the need for shading to understand the function graph's details.

The third sample adds flat shading to the graph. This also shows how we can compute polygon normals from the polygons' vertices, using cross products.

The fourth extends the third one by demonstrating smooth shading. This also shows how we can compute vertex normals by averaging polygon normals that share a vertex.

## Sample 5: Drawing the domain grid

The fifth sample adds the domain grid, rendered as a wireframe structure, underneath the function graph. This shows how we can render polygon outlines.