TyphoonLabs' OpenGL Shading Language tutorials


Chapter 1: Introduction to GLSL

- An Introduction to Programmable Hardware

- Brief History of the OpenGL Programmable Hardware Pipeline

- Fixed Function vs. Programmable Function

 

* Programmable Function Scheme

* Fixed Function Scheme

- Shader 'Input' Data

 

* Uniform Variables

* Vertex Attributes

 

* Varying Variables

- Shader 'Output' Data

 

* Vertex Shader

* Fragment Shader

- Simple GLSL Shader Example

- Shader Designer IDE

 

* User Interface

 

* Toolbar

 

* Menu

 

* State Properties

 

 

+ Light States

 

 

+ Vertex States

 

 

+ Fragment States

 

* Code Editor Window

 

* Uniform Variables Manager

 

Chapter 2: GLSL Basics

- Introduction

- GLSL Language

 

* Mechanisms Borrowed from C++

* Character Set

 

* Pre-processor Keywords

 

* Comments

 

* Variables and Types

 

* Type Descriptions

 

* Type Qualifiers

 

* Operators and Preference

 

* Subroutines

 

* Flow Control

 

* Built-in Variables

 

* Built-in Constants

 

* Built-in Attributes

 

* General Built-in Uniform States

 

* Varying Variables

 

* Built-in Functions

 

Chapter 3: GLSL Basic Shaders

- Introduction

- First Basic Shader

 

* Simple Shader 1

 

* Simple Shader 2: Using Varying Variables

- Using Built-in Uniforms and Attributes

- Texturing and Multitexturing (Vertex Attributes)

- Discard Shader and Subroutines

- Simple Illumination Model 1

- Simple Illumination Model 2: Per Vertex Specular & Glossines

 

Chapter 4: Advanced Shaders

- Introduction

- Per Pixel Illumination Model

- Bump Mapping

- Simple Parallax Shader

- Mandelbrot Shader (Flow Control)

- Advanced Illumination Model

 

Chapter 5: Appendix

- Using GLSL Shaders Within OpenGL Applications

 

* Loading and Using Shaders

 

* Using Uniforms

 

* Using Textures

 

* Using Vertex Attributes

- How To Use the 3DSMax5 Mesh Exporter

- References


Contact: jrodriguez 'at' parallel-games.com