GLSL Programming/GLUT

In this section we present how to implement the GLSL concepts using C/C++, with GLUT as the basic OpenGL wrapper.

We will rely on the base code template built step-by-step in the OpenGL Programming wikibook, for loading textures, models, as well as passing vertices and uniforms to the shaders. Almost all of the coding will occur in the shaders.

Note: Android users may want to have a look at the GLUT wrapper.

When re-implementing obsoleted OpenGL 1.x features (such as lighting) using shaders, we'll try to use similar variable names, so that people familiar with the previous version can easily upgrade their knowledge.


Note that the tutorials assume that you read them in the order in which they are presented here, i.e. each tutorial will assume that you are familiar with the concepts and techniques introduced by previous tutorials. If you are new to GLSL you should at least read through the tutorials in the “Basics” section.

A number of these tutorials are already available for Blender and Unity - if you can port them, feel free to contribute!


Transparent SurfacesEdit

Basic LightingEdit

Basic TexturingEdit

Textures in 3DEdit

Environment MappingEdit

Variations on LightingEdit

Non-Standard Vertex TransformationsEdit

< GLSL Programming

Unless stated otherwise, all example source code on this page is granted to the public domain.