3D Graphics - OpenGL

Shader Techniques

URL Description
Bruce Gooch: Non-Photorealistic Rendering

In the computer graphics rendering is the process by which data is converted into an image. Photorealistic rendering denotes images based on physical simulations. The goal of photorealistic rendering is to create images indistinguishable from photographs of real world scenes. In contrast, the new area of non-photorealistic rendering (NPR) is concerned with images that are guided by artistic processes. NPR techniques are driven by aesthetic constraints rather than physical simulations.

Estimating Curvatures and their Derivatives on Triangle Meshes

The computation of curvature and other differential properties of surfaces is essential for many techniques in analysis and rendering. We present a ?nite-differences approach for estimating curvatures on irregular triangle meshes that may be thought of as an extension of a common method for estimating per-vertex normals. The technique is ef?cient in space and time, and results in signi?cantly fewer outlier estimates while more broadly offering accuracy comparable to existing methods. It generalizes naturally to computing derivatives of curvature and higher-order surface differentials

Fragment Shaders A Fragment Shader is a user-supplied program that, when executed, will process a Fragment from the rasterization process into a set of colors and a single depth value.
GLSL Reference Card
GLSL Shaders - David Cornette These pages detail the Master's project that I have done on GLSL shaders. This page gives an overview of what the project, and on other pages you will find additional information about the topic, as well as the source code for my project.
GLSL Tutorial von Lighthouse3D Source: Lighthouse3D GLSL Tutorial.

I have concatenated all the seperate HTML pages of the original tutorial for your reading convenience. I have also found that the repetition of all code examples, once using OpenGL 2.0 syntax, and once using ARB syntax, makes reading a little tedious; therefore, i have removed the ARB versions of the examples, since they are outdated anyway.
GLSL: Common Mistakes
Hardwood Manufacturing Processes I added this in case you want to model wood grain. Interesting process of creating lumber.
How to Show Silhouette using GLSL
OpenGL Live Text-Rendering

I'm implementing a GUI built on top of OpenGL. I came to the problem that each GUI will have -- text rendering. I know of several methods of rendering text in OpenGL, however, I'm wonderin which of them would be best suited for a GUI.

OpenGL/GLSL Shader Programming
Shader Tutorial
Shading in OpenGL
February 6, 2003
Frank Pfenning
Carnegie Mellon University
  • Polygonal Shading
  • Light Source in OpenGL
  • Material Properties in OpenGL
  • Normal Vectors in OpenGL
  • Approximating a Sphere
Shading in OpenGL - Ed Angel (Univ of New Mexico)
Ed Angel
Professor of Computer Science,
Electrical and Computer
Engineering, and Media Arts
University of New Mexico
Terrain: Contour Lines using Pixel Shader Excellent method for doing smooth contouring with constant width of lines, no stitching artifacts.
Text Rendering in Fragment Shaders
The A to Z of DX10 Performance
  • DX10 is designed for performance.
  • Most validation moved from runtime to creation time
  • User mode drivers
  • Memory manager now part of OS
Trying to understand dFdx() and dFdy()
TyphoonLab's OpenGL Shading Language Tutorials
Using GPU Shaders for Visualization

Most of the uses of GPU shaders seem to be for gaming and other forms of entertainment and simulation. And, why not? The effects that can be created are stunning, and definitely enhance the gaming experience. But, there are visualization uses for GPU shaders as well – for the same reasons: appearance and performance. In the drive to understand large, complex data sets, no method should be overlooked. This column looks at the use of GPU shaders and the GLSL shading language in two very common visualization applications: point clouds and contour cutting planes.

Vector Textures - Improved Technique for Text

A simple and ef?cient method is presented which allows improved rendering of glyphs composed of curved and linear elements. A distance ?eld is generated from a high resolution image, and then stored into a channel of a lower-resolution texture. In the simplest case, this texture can then be rendered simply by using the alphatesting and alpha-thresholding feature of modern GPUs, without a custom shader. This allows the technique to be used on even the lowest-end 3D graphics hardware. With the use of programmable shading, the technique is extended to perform various special effect renderings, including soft edges, outlining, drop shadows, multi-colored images, and sharp corners.