Swiftless GLSL Shader Developer is a new shader designer/creator which is currently in it's first public release. It features fragment, vertex and geometry shader support, as well as post processing.
More
vertex
Vertex Buffer Objects are used to store vertices, their indices and other information on the graphics card, for OpenGL to access directly. They are extremely fast and effecient, and are meant to supersede Display Lists. So lets use them for our terrain!
GLSL also overwrites the default lighting in OpenGL, but once again, OpenGL passes all lighting information through to us in GLSL for us to use. This tutorial will teach you how to use this information to perform per-vertex lighting, identical to that in standard OpenGL.
Alpha values, just like colours, can be assigned on a per-vertex basis. This allows for varying levels of transparency across objects.
Along with assigning colours to objects, did you know you can also set colours to individual vertices? Well yes, yes you can.