GLSlayer Wiki
An object oriented 3D graphics API on top of OpenGL
Status: Alpha
Brought to you by:
drshader
There are 6 classes that represent shader types:
They are all derived from IShader which has some common functionality. Shader objects are created using IRenderContext functions Create*Shader() which have overloads that take shader source string or shader binary. All shader types except fragment and compute shaders can also be created with Create*ShaderWithTransformFeedback() which creates shader object and sets up transform feedback output varyings.
The following are current shader object design directions, some of them still need to be proven through testing and practical usage and might be changed later if they are proven to be unsound because of either performance or usability reasons: