
Enums: Shader Objects (Version20) [done!]
Posted Tuesday, 1 January, 2008 - 21:15 by Inertia inhttp://www.opengl.org/registry/specs/ARB/shader_objects.txt
Affected Functions:
*
old: GL.CreateShader( Version20 type );
new: GL.CreateShader( ShaderObjectType type );
*
old: GL.Arb.CreateShaderObject( ArbShaderObjects shaderType );
new: GL.Arb.CreateShaderObject( ShaderObjectType shaderType );
*
old: GL.Arb.GetHandle( ArbShaderObjects pname );
new: GL.Arb.GetHandle( ShaderObjectHandle pname );
*
old: GL.Arb.GetObjectParameter( XX, ArbShaderObjects pname, XX );
new: GL.Arb.GetObjectParameter( XX, ObjectParameterName pname, XX );
*
old: GL.GetActiveUniform( XX, XX, XX, XX, XX, out Version20 type, XX );
new: GL.GetActiveUniform( XX, XX, XX, XX, XX, out ActiveUniformType type, XX );
public enum ShaderObjectType : int { VertexShader = ( (int) 0x8b31 ), FragmentShader = ( (int) 0x8b30 ), GeometryShader = ExtGeometryShader4.GeometryShaderExt, } public enum ShaderObjectHandle : int { ProgramObject = (int) ArbShaderObjects.ProgramObjectArb, } public enum ObjectParameterName : int // whole enum added, wasn't given in Version20/1 { ObjectType = (int) ArbShaderObjects.ObjectTypeArb, ObjectSubType = (int) ArbShaderObjects.ObjectSubtypeArb, ObjectDeleteStatus = (int) ArbShaderObjects.ObjectDeleteStatusArb, ObjectCompileStatus = (int) ArbShaderObjects.ObjectCompileStatusArb, ObjectLinkStatus = (int) ArbShaderObjects.ObjectLinkStatusArb, ObjectValidateStatus = (int) ArbShaderObjects.ObjectValidateStatusArb, ObjectInfoLogLength = (int) ArbShaderObjects.ObjectInfoLogLengthArb, ObjectAttachedObjects = (int) ArbShaderObjects.ObjectAttachedObjectsArb, ObjectActiveUniforms = (int) ArbShaderObjects.ObjectActiveUniformsArb, ObjectActiveUniformMaxLength = (int) ArbShaderObjects.ObjectActiveUniformMaxLengthArb, ObjectShaderSourceLength = (int) ArbShaderObjects.ObjectShaderSourceLengthArb, } public enum ActiveUniformType : int { Float = All.Float, // was missing FloatVec2 = ( (int) 0x8b50 ), FloatVec3 = ( (int) 0x8b51 ), FloatVec4 = ( (int) 0x8b52 ), Int = (int) All.Int, // was missing IntVec2 = ( (int) 0x8b53 ), IntVec3 = ( (int) 0x8b54 ), IntVec4 = ( (int) 0x8b55 ), Bool = ( (int) 0x8b56 ), BoolVec2 = ( (int) 0x8b57 ), BoolVec3 = ( (int) 0x8b58 ), BoolVec4 = ( (int) 0x8b59 ), FloatMat2 = ( (int) 0x8b5a ), FloatMat3 = ( (int) 0x8b5b ), FloatMat4 = ( (int) 0x8b5c ), Sampler1d = ( (int) 0x8b5d ), Sampler2d = ( (int) 0x8b5e ), Sampler3d = ( (int) 0x8b5f ), SamplerCube = ( (int) 0x8b60 ), Sampler1dShadow = ( (int) 0x8b61 ), Sampler2dShadow = ( (int) 0x8b62 ), Sampler2dRect = All.Sampler2dRectArb, // was missing Sampler2dRectShadow = All.Sampler2dRectShadowArb, // was missing }


Comments
I'm leaving the ARB stuff as
I'm leaving the ARB stuff as is for now - since they are extensions, not core, we shoudln't drop the "Arb" prefix. The same goes for EXT_geometry_shader4: while this extensions updates the definition of CreateShader to accept the GEOMETRY_SHADER token, this is an extension to GL2.1 targeted by OpenTK.
Updated using these
Updated using these definitions:
http://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml
http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniform.xml