Tutorials
Maths Tutorial
A set of math tools for CG. Includes vector operations (length, cross and inner products, and projection), definition of rays and planes, intersection between rays and spheres or triangles, and interpolation.
OpenGL Tutorials
GLSL Core Tutorial
An introduction to Core GLSL that not only covers shader writing, but also covers the graphics pipeline, the OpenGL Setup of an application using shaders.Variables, data types, and language syntax are also explored. This is the updated version of the previous GLSL tutorial which focused on OpenGL up to 2.0.
Led Shader
A great tutorial by Jason Gorski on how to achive the pixelated effect commonly seen in led displays. The tutorial explores in depth how to achieve each of the features of these low res displays. Full source code is made available.
View Frustum Culling
View frustum culling is a simple way to add a boost to an OpenGL application. This tutorial shows how to extract the view frustum for a camera, and how to cull spheres and boxes that are outside the view frustum. Optimizations, notes, references and source code are also provided.
GLSL
An introduction to GLSL that not only covers shader writing, but also covers the graphics pipeline, the OpenGL Setup of an application using shaders.Variables, data types, and language syntax are also explored. Shader examples, namely for toon shading, lighting and texturing, are provided and source code is downloadable. Both ARB extensions and OpenGL 2.0 versions are included in the tutorial with color coded to help the reader to distinguish between them.
Maths for Computer Graphics
Several maths techniques are described in here. the main idea is to provide a collection of usefull routines for programmers.
Billboarding
Billboarding is a technique that adjusts an object’s orientation so that it “faces” some target, usually the camera. In this tutorial several techniques to implement billboarding are covered. From cheating billboards to true billboards. In all techniques both Cylindrical and Spherical versions are presented.
Picking
The OpenGL API provides a mechanism for picking objects in a 3D scene. The Red Book proposes an alternative mechanism based on color coding. This tutorial will show you how to detect which objects are below the mouse or in a square region of the OpenGL window using both approaches.
Terrain
Several algorithms to generate artificial terrains, including the Mid Point Displacement algorithm, are presented. This tutorial also covers the creation of a height map from an image, and its rendering. Normal computation and lighting simulation for both directional and positional lights is described in detail. A library to load TGA uncompressed images is also provided.
Display Lists
A tutorial with source code exploring some of the possibilities provided by Display Lists. Enhance your application making it run faster with this simple feature.
GLUT
GLUT is a library that allows us to write system independent applications without messing up with specific window systems. In this tutorial I cover the initializations required, mouse and keyboard input, pop-up menus, writing text, GLUT’s gamemode, and subwindows.
Shadows
Tutorial and Demo sent by Dario Villa covering Shadows using the stencil buffer and projecting geometry onto planes. Contains an interactive demo with moving lights and geometry. Looks really cool.
VRML Tutorials
VRML Interactive Tutorial
This tutorial covers the basics of VRML97 providing limitless source code due to its interactivity. Look for the “TIY” (Try it yourself”) button on the top of some of the pages. Pressing this button opens a new window where you can play with the parameters and view the results. Source code using your parameters is also provided.
VRML Script Tutorial
You’ve already seen how to build basic animations and simple behaviours with the events predefined for several nodes in VRML. Although these nodes can perform wonders in your VRML world they are limited in the type of actions you can perform. The Scritp node provides the missing flexibility to expand almost limitless your behaviour requirements. The Script node allows you to define behaviours using programming languages such as JAVA, JavaScript, or the recently proposed VRMLScript by Silicon Graphics.
W3D Tutorial
Geometric Primitives Tutorial
3D tutorial dedicated to Shockwave 3D. In here geometry primitives will be explored as well as some important concepts such as models and resources. If you’re not familiar with macromedia’s Director, and its programming language Lingo, then you should check out one of the many sites dedicated to it.
